﻿using System;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;

namespace NP.BPMReportPlatform.HandInvoice.Dto
{
    [ExcelExporter(Name = "手工发票", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetHandInvoiceOutput
    {
        /// <summary>
        /// 流程状态
        /// </summary>
        [ExporterHeader(DisplayName = "流程状态")]
        public string Flowstate { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        [ExporterHeader(DisplayName = "流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public DateTime? ProcessStartTime { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }
        [IEIgnore(IsExportIgnore = true)]
        public Guid Id { get; set; }
        [ExporterHeader(DisplayName = "发票所属公司")]
        public string InvoiceCompany { get; set; }
        [ExporterHeader(DisplayName = "发票所属销售部")]
        public string InvoiceSalesDepartmentName { get; set; }
        [ExporterHeader(DisplayName = "发票所属区域")]
        public string InvoiceAreaName { get; set; }
        [ExporterHeader(DisplayName = "渠道")]
        public string ChannelName { get; set; }
        [ExporterHeader(DisplayName = "客户名称")]
        public string CustomerName { get; set; }
        [ExporterHeader(DisplayName = "是否手动入账")]
        public string IsHand { get; set; }
        [ExporterHeader(DisplayName = "发票代码")]
        public string InvoiceCode { get; set; }
        [ExporterHeader(DisplayName = "备注")]
        public string Remark { get; set; }
        [ExporterHeader(DisplayName = "红冲类型")]
        public string RedRushTypeName { get; set; }
        [ExporterHeader(DisplayName = "新客户名称")]
        public string NewCustomName { get; set; }
        [ExporterHeader(DisplayName = "原商机号")]
        public string OriginOpportunityNo { get; set; }
        [ExporterHeader(DisplayName = "新商机号")]
        public string NewOpportunityNo { get; set; }
        [ExporterHeader(DisplayName = "税额")]
        public string Tax { get; set; }
        [ExporterHeader(DisplayName = "发票类型")]
        public object InvoiceType { get; set; }
        [ExporterHeader(DisplayName = "申请类型")]
        public string ApplicationTypeName { get; set; }
        [ExporterHeader(DisplayName = "申请内容")]
        public string ApplicationContentName { get; set; }
        [ExporterHeader(DisplayName = "开票内容")]
        public string InvoiceContent { get; set; }
        [ExporterHeader(DisplayName = "税率")]
        public string TaxRate { get; set; }
        [ExporterHeader(DisplayName = "税收分类编码")]
        public string TaxClassificationNo { get; set; }
        [ExporterHeader(DisplayName = "单价")]
        public string Price { get; set; }
        [ExporterHeader(DisplayName = "数量")]
        public string Quantity { get; set; }
        [ExporterHeader(DisplayName = "发票总额")]
        public string TotalInvoice { get; set; }
        [ExporterHeader(DisplayName = "不含税金额")]
        public string TaxFreeAmount { get; set; }
        [ExporterHeader(DisplayName = "产品组")]
        public string ProductGroup { get; set; }
        [ExporterHeader(DisplayName = "物料号")]
        public string ItemNo { get; set; }
        [ExporterHeader(DisplayName = "发票号码")]
        public string InvoiceNo { get; set; }
        [ExporterHeader(DisplayName = "开票日期")]
        public string InvoiceDate { get; set; }
        [ExporterHeader(DisplayName = "开票方会计凭证")]
        public string CertificateNo { get; set; }
        [ExporterHeader(DisplayName = "收票方会计凭证")]
        public string RecipientCertificateNo { get; set; }
        [ExporterHeader(DisplayName = "客户代码")]
        public string CustomCode { get; set; }
        [ExporterHeader(DisplayName = "客户类型")]
        public string CustomerType { get; set; }
        [ExporterHeader(DisplayName = "发票所属公司编码")]
        public string InvoiceCompanyCode { get; set; }
        [ExporterHeader(DisplayName = "SAP凭证18")]
        public string SAPVenderCode18 { get; set; }
        [ExporterHeader(DisplayName = "SAP凭证2")]
        public string SAPVenderCode2 { get; set; }
        [ExporterHeader(DisplayName = "SAP凭证3")]
        public string SAPVenderCode3 { get; set; }
        [ExporterHeader(DisplayName = "付款条件")]
        public string CustomerPayment { get; set; }
        [ExporterHeader(DisplayName = "是否已回款")]
        public string IsPaymentCollection { get; set; }
        [ExporterHeader(DisplayName = "订单岗输入订单号")]
        public string ManualOrderNumber_X { get; set; }
        [ExporterHeader(DisplayName = "是否已冲销凭证")]
        public string IsVoucher { get; set; }
        [ExporterHeader(DisplayName = "票易通备注")]
        public string PYTRemark { get; set; }
    }
}